Link aggregation is a networking technique of treating multiple physical links between two network nodes as a single logical channel. This allows load sharing of traffic among the links in the channel as well as redundancy in the event that one or more of the links in the channel fails.
One example of a link aggregation system is EtherChannel which aggregates the bandwidth of up to n (where n is a positive integer) compatibly configured ports into a single logical channel.
To distribute the load across the included ports in an EtherChannel, a hash algorithm computes a hash value in the range 0 to n−1 based on fields selected from a packet to be transmitted. Examples of these fields are a frame's MAC addresses (Layer 2 [L2]), IP addresses (Layer 3 [L3]), or port numbers (Layer 4 [L4]). With the selected fields as a basis, a particular port in the EtherChannel is chosen by the hash. Each hash value selects a port and each port can accept multiple hash values. If there are four ports in the EtherChannel, each port accepts two hash values, and so forth. A similar algorithm is used for load sharing at layer 3 across multipath next-hop adjacencies.